home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / contrib / pdcurs22 / src / unix / _setkeys.c < prev   
Encoding:
C/C++ Source or Header  |  1995-01-26  |  8.0 KB  |  228 lines

  1. /*
  2. ***************************************************************************
  3. * This file comprises part of PDCurses. PDCurses is Public Domain software.
  4. * You may use this code for whatever purposes you desire. This software
  5. * is provided AS IS with NO WARRANTY whatsoever.
  6. * Should this software be used in another application, an acknowledgement
  7. * that PDCurses code is used would be appreciated, but is not mandatory.
  8. *
  9. * Any changes which you make to this software which may improve or enhance
  10. * it, should be forwarded to the current maintainer for the benefit of 
  11. * other users.
  12. *
  13. * The only restriction placed on this code is that no distribution of
  14. * modified PDCurses code be made under the PDCurses name, by anyone
  15. * other than the current maintainer.
  16. * See the file maintain.er for details of the current maintainer.
  17. ***************************************************************************
  18. */
  19. #define    CURSES_LIBRARY    1
  20. #include <curses.h>
  21. #ifdef UNIX
  22. #include <defs.h>
  23. #include <term.h>
  24. #endif
  25.  
  26. #ifdef PDCDEBUG
  27. char *rcsid_PDC_setkeys  = "$Id$";
  28. #endif
  29.  
  30.  
  31.  
  32.  
  33. /*man-start*********************************************************************
  34.  
  35.   PDC_setup_keys()    - Setup function key translations.
  36.  
  37.   PDCurses Description:
  38.      This is a private PDCurses routine.
  39.  
  40.      Sets up the array of key sequences and their associated curses key number
  41.      for use by the getch() function when determining if a sequence of
  42.      characters is a key escape sequence.
  43.  
  44.  
  45.   PDCurses Return Value:
  46.      This function returns OK on success and ERR on error.
  47.  
  48.   PDCurses Errors:
  49.      No errors are defined for this function.
  50.  
  51.   Portability:
  52.      PDCurses    int PDC_setup_keys( char *keyptr, int keynum );
  53.  
  54. **man-end**********************************************************************/
  55.  
  56.  
  57. #ifdef UNIX
  58. static void add_key(char *keyptr,int keynum)
  59. {
  60.     if (keyptr != NULL)
  61.         {
  62. #ifdef PDCDEBUG
  63.         if (trace_on) PDC_debug("add_key() keyval %s keynum %d\n",keyptr,keynum);
  64. #endif
  65.         _cursvar.key_seq[_cursvar.number_keys] = keyptr;
  66.         _cursvar.key_num[_cursvar.number_keys++] = keynum;
  67.         }
  68.     return;
  69. }
  70. int PDC_setup_keys()
  71. {
  72. #ifdef PDCDEBUG
  73.     if (trace_on) PDC_debug("PDC_setup_keys() - called\n");
  74. #endif
  75.     _cursvar.number_keys = 0;
  76.     add_key(key_a1       ,KEY_A1       );
  77.     add_key(key_a3       ,KEY_A3       );
  78.     add_key(key_b2       ,KEY_B2       );
  79.     add_key(key_backspace,KEY_BACKSPACE);
  80.     add_key(key_beg      ,KEY_BEG      );
  81.     add_key(key_btab     ,KEY_BTAB     );
  82.     add_key(key_c1       ,KEY_C1       );
  83.     add_key(key_c3       ,KEY_C3       );
  84.     add_key(key_cancel   ,KEY_CANCEL   );
  85.     add_key(key_catab    ,KEY_CATAB    );
  86.     add_key(key_clear    ,KEY_CLEAR    );
  87.     add_key(key_close    ,KEY_CLOSE    );
  88.     add_key(key_command  ,KEY_COMMAND  );
  89.     add_key(key_copy     ,KEY_COPY     );
  90.     add_key(key_create   ,KEY_CREATE   );
  91.     add_key(key_ctab     ,KEY_CTAB     );
  92.     add_key(key_dc       ,KEY_DC       );
  93.     add_key(key_dl       ,KEY_DL       );
  94.     add_key(key_down     ,KEY_DOWN     );
  95.     add_key(key_eic      ,KEY_EIC      );
  96.     add_key(key_end      ,KEY_END      );
  97.     add_key(key_enter    ,KEY_ENTER    );
  98.     add_key(key_eol      ,KEY_EOL      );
  99.     add_key(key_eos      ,KEY_EOS      );
  100.     add_key(key_exit     ,KEY_EXIT     );
  101.     add_key(key_f0       ,KEY_F(0 )    );
  102.     add_key(key_f1       ,KEY_F(1 )    );
  103.     add_key(key_f2       ,KEY_F(2 )    );
  104.     add_key(key_f3       ,KEY_F(3 )    );
  105.     add_key(key_f4       ,KEY_F(4 )    );
  106.     add_key(key_f5       ,KEY_F(5 )    );
  107.     add_key(key_f6       ,KEY_F(6 )    );
  108.     add_key(key_f7       ,KEY_F(7 )    );
  109.     add_key(key_f8       ,KEY_F(8 )    );
  110.     add_key(key_f9       ,KEY_F(9 )    );
  111.     add_key(key_f10      ,KEY_F(10)    );
  112.     add_key(key_f11      ,KEY_F(11)    );
  113.     add_key(key_f12      ,KEY_F(12)    );
  114.     add_key(key_f13      ,KEY_F(13)    );
  115.     add_key(key_f14      ,KEY_F(14)    );
  116.     add_key(key_f15      ,KEY_F(15)    );
  117.     add_key(key_f16      ,KEY_F(16)    );
  118.     add_key(key_f17      ,KEY_F(17)    );
  119.     add_key(key_f18      ,KEY_F(18)    );
  120.     add_key(key_f19      ,KEY_F(19)    );
  121.     add_key(key_f20      ,KEY_F(20)    );
  122.     add_key(key_f21      ,KEY_F(21)    );
  123.     add_key(key_f22      ,KEY_F(22)    );
  124.     add_key(key_f23      ,KEY_F(23)    );
  125.     add_key(key_f24      ,KEY_F(24)    );
  126.     add_key(key_f25      ,KEY_F(25)    );
  127.     add_key(key_f26      ,KEY_F(26)    );
  128.     add_key(key_f27      ,KEY_F(27)    );
  129.     add_key(key_f28      ,KEY_F(28)    );
  130.     add_key(key_f29      ,KEY_F(29)    );
  131.     add_key(key_f30      ,KEY_F(30)    );
  132.     add_key(key_f31      ,KEY_F(31)    );
  133.     add_key(key_f32      ,KEY_F(32)    );
  134.     add_key(key_f33      ,KEY_F(33)    );
  135.     add_key(key_f34      ,KEY_F(34)    );
  136.     add_key(key_f35      ,KEY_F(35)    );
  137.     add_key(key_f36      ,KEY_F(36)    );
  138.     add_key(key_f37      ,KEY_F(37)    );
  139.     add_key(key_f38      ,KEY_F(38)    );
  140.     add_key(key_f39      ,KEY_F(39)    );
  141.     add_key(key_f40      ,KEY_F(40)    );
  142.     add_key(key_f41      ,KEY_F(41)    );
  143.     add_key(key_f42      ,KEY_F(42)    );
  144.     add_key(key_f43      ,KEY_F(43)    );
  145.     add_key(key_f44      ,KEY_F(44)    );
  146.     add_key(key_f45      ,KEY_F(45)    );
  147.     add_key(key_f46      ,KEY_F(46)    );
  148.     add_key(key_f47      ,KEY_F(47)    );
  149.     add_key(key_f48      ,KEY_F(48)    );
  150.     add_key(key_f49      ,KEY_F(49)    );
  151.     add_key(key_f50      ,KEY_F(50)    );
  152.     add_key(key_f51      ,KEY_F(51)    );
  153.     add_key(key_f52      ,KEY_F(52)    );
  154.     add_key(key_f53      ,KEY_F(53)    );
  155.     add_key(key_f54      ,KEY_F(54)    );
  156.     add_key(key_f55      ,KEY_F(55)    );
  157.     add_key(key_f56      ,KEY_F(56)    );
  158.     add_key(key_f57      ,KEY_F(57)    );
  159.     add_key(key_f58      ,KEY_F(58)    );
  160.     add_key(key_f59      ,KEY_F(59)    );
  161.     add_key(key_f60      ,KEY_F(60)    );
  162.     add_key(key_f61      ,KEY_F(61)    );
  163.     add_key(key_f62      ,KEY_F(62)    );
  164.     add_key(key_f63      ,KEY_F(63)    );
  165.     add_key(key_find     ,KEY_FIND     );
  166.     add_key(key_help     ,KEY_HELP     );
  167.     add_key(key_home     ,KEY_HOME     );
  168.     add_key(key_ic       ,KEY_IC       );
  169.     add_key(key_il       ,KEY_IL       );
  170.     add_key(key_left     ,KEY_LEFT     );
  171.     add_key(key_ll       ,KEY_LL       );
  172.     add_key(key_mark     ,KEY_MARK     );
  173.     add_key(key_message  ,KEY_MESSAGE  );
  174.     add_key(key_move     ,KEY_MOVE     );
  175.     add_key(key_next     ,KEY_NEXT     );
  176.     add_key(key_npage    ,KEY_NPAGE    );
  177.     add_key(key_open     ,KEY_OPEN     );
  178.     add_key(key_options  ,KEY_OPTIONS  );
  179.     add_key(key_ppage    ,KEY_PPAGE    );
  180.     add_key(key_previous ,KEY_PREVIOUS );
  181.     add_key(key_print    ,KEY_PRINT    );
  182.     add_key(key_redo     ,KEY_REDO     );
  183.     add_key(key_reference,KEY_REFERENCE);
  184.     add_key(key_refresh  ,KEY_REFRESH  );
  185.     add_key(key_replace  ,KEY_REPLACE  );
  186.     add_key(key_restart  ,KEY_RESTART  );
  187.     add_key(key_resume   ,KEY_RESUME   );
  188.     add_key(key_right    ,KEY_RIGHT    );
  189.     add_key(key_save     ,KEY_SAVE     );
  190.     add_key(key_sbeg     ,KEY_SBEG     );
  191.     add_key(key_scancel  ,KEY_SCANCEL  );
  192.     add_key(key_scommand ,KEY_SCOMMAND );
  193.     add_key(key_scopy    ,KEY_SCOPY    );
  194.     add_key(key_screate  ,KEY_SCREATE  );
  195.     add_key(key_sdc      ,KEY_SDC      );
  196.     add_key(key_sdl      ,KEY_SDL      );
  197.     add_key(key_select   ,KEY_SELECT   );
  198.     add_key(key_send     ,KEY_SEND     );
  199.     add_key(key_seol     ,KEY_SEOL     );
  200.     add_key(key_sexit    ,KEY_SEXIT    );
  201.     add_key(key_sf       ,KEY_SF       );
  202.     add_key(key_sfind    ,KEY_SFIND    );
  203.     add_key(key_shelp    ,KEY_SHELP    );
  204.     add_key(key_shome    ,KEY_SHOME    );
  205.     add_key(key_sic      ,KEY_SIC      );
  206.     add_key(key_sleft    ,KEY_SLEFT    );
  207.     add_key(key_smessage ,KEY_SMESSAGE );
  208.     add_key(key_smove    ,KEY_SMOVE    );
  209.     add_key(key_snext    ,KEY_SNEXT    );
  210.     add_key(key_soptions ,KEY_SOPTIONS );
  211.     add_key(key_sprevious,KEY_SPREVIOUS);
  212.     add_key(key_sprint   ,KEY_SPRINT   );
  213.     add_key(key_sr       ,KEY_SR       );
  214.     add_key(key_sredo    ,KEY_SREDO    );
  215.     add_key(key_sreplace ,KEY_SREPLACE );
  216.     add_key(key_sright   ,KEY_SRIGHT   );
  217.     add_key(key_srsume   ,KEY_SRSUME   );
  218.     add_key(key_ssave    ,KEY_SSAVE    );
  219.     add_key(key_ssuspend ,KEY_SSUSPEND );
  220.     add_key(key_stab     ,KEY_STAB     );
  221.     add_key(key_sundo    ,KEY_SUNDO    );
  222.     add_key(key_suspend  ,KEY_SUSPEND  );
  223.     add_key(key_undo     ,KEY_UNDO     );
  224.     add_key(key_up       ,KEY_UP       );
  225. }
  226. #endif
  227.